
clear
clear all
cls
set more off
set type double
clear matrix
set maxvar 32767
set matsize 11000
*set emptycells drop
ssc install outreg2, replace
ssc install ivreg2, replace



/******************** Change to relevant directory **********************/
cd "directory path..../Replication_dataset_british_lights_JT/"


/******************** TABLE 1: Summary Statistics **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


summ lolightsPC1993 lolightsPC1993bk lolightsPC2013bk growth_1993_2013 growth_1993_2013bk lolightsPA1993 lolightsPC2012viirs_mask lolightsPC2013viirs_mask lolightsPC2019viirs_mask growth_2012_2019viirs_mask brit_corrected if brit_corrected != .

summ instrument_corrected if brit_corrected != . & dateannex_corrected > 1847

summ prop_ryotwari1 brit_propryot ryot_dummy brit_ryotdum durabrit_corrected durabrit_ryotdum lit_rate_7nplus sharehigh25plus_incld_J shareprim25plus_incld_J Total_CM1_2 loroadlengthPC loraillengthPC cath_miss_corrected share_primary1961_castello area1991 lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J terr_rugg100m share_urban1931 share_brahman1931 share_tribal1931 rail1909 pop_den1931 euro1931 agri_suit logmean_rural logmean_urban if brit_corrected != .

summ lobanks_pc1993 flfpr1991_15p lolabproductivity_d dist1991_lit_rate2011 dist1991_IMR2011 lobanks_pc2011 dist1991_15p_flfpr2011 if brit_corrected != .

summ dist1991_turnoutratio_2008_2013 d91_pHHs_newsp1_avg2012 d91_pHHs_notmuch_conflict2012 if brit_corrected != .




/******************** TABLE 2: Baseline Level Regressions (Institutions and Human Capital) (OLS and IV) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table2_raw.xls", replace se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table2_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if instrument_corrected != . & dateannex_corrected > 1847, cluster(nativelevel_corrected)
outreg2 using "directory path/table2_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

ivreg2 lolightsPC1993 (brit_corrected=instrument_corrected) lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if dateannex_corrected > 1847, cluster(nativelevel_corrected) first
outreg2 using "directory path/table2_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

ivreg2 lolightsPC1993 (lit_rate_7nplus=cath_miss_corrected) brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected) first
outreg2 using "directory path/table2_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, NO)

ivreg2 lolightsPC1993 (lit_rate_7nplus=cath_miss_corrected) brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if dateannex_corrected > 1847, cluster(nativelevel_corrected) first
outreg2 using "directory path/table2_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, NO)

ivreg2 lolightsPC1993 (brit_corrected lit_rate_7nplus=instrument_corrected cath_miss_corrected) area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if dateannex_corrected > 1847, cluster(nativelevel_corrected) first
outreg2 using "directory path/table2_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, NO)


clear
clear all

use lights_brit_prin_neighbor_across_JT.dta, clear


regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table2_raw.xls", append se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table2_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)




/******************** TABLE 3: Economic Growth (1993 - 2013 DMSP-OLS) Regressions **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


gen lolightsPC1993_brit = lolightsPC1993*brit_corrected


regress growth_1993_2013 lolightsPC1993 if brit_corrected != ., robust
outreg2 using "directory path/table3_raw.xls", replace se nocons keep(lolightsPC1993) addtext(Human Cap - Lit Rate, NO, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)

regress growth_1993_2013 lolightsPC1993 brit_corrected, cluster(nativelevel_corrected)
outreg2 using "directory path/table3_raw.xls", append se nocons keep(lolightsPC1993 brit_corrected) addtext(Human Cap - Lit Rate, NO, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)
															
regress growth_1993_2013 lolightsPC1993 brit_corrected lolightsPC1993_brit, cluster(nativelevel_corrected)
outreg2 using "directory path/table3_raw.xls", append se nocons keep(lolightsPC1993 brit_corrected lolightsPC1993_brit) addtext(Human Cap - Lit Rate, NO, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)

regress growth_1993_2013 lolightsPC1993 brit_corrected lolightsPC1993_brit lit_rate_7nplus, cluster(nativelevel_corrected)
outreg2 using "directory path/table3_raw.xls", append se nocons keep(lolightsPC1993 brit_corrected lolightsPC1993_brit lit_rate_7nplus) addtext(Human Cap - Lit Rate, YES, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)

regress growth_1993_2013 lolightsPC1993 brit_corrected lolightsPC1993_brit lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table3_raw.xls", append se nocons keep(lolightsPC1993 brit_corrected lolightsPC1993_brit lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned) addtext(Human Cap - Lit Rate, YES, Human Cap - IMR, YES, Physical Infra, YES, Financial Infra, YES, FLFPR, YES, Geography, YES)

regress growth_1993_2013 lolightsPC1993 brit_corrected brit_ryotdum, cluster(nativelevel_corrected)
outreg2 using "directory path/table3_raw.xls", append se nocons keep(lolightsPC1993 brit_corrected brit_ryotdum) addtext(Human Cap - Lit Rate, NO, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)

regress growth_1993_2013 lolightsPC1993 brit_corrected brit_ryotdum lit_rate_7nplus, cluster(nativelevel_corrected)
outreg2 using "directory path/table3_raw.xls", append se nocons keep(lolightsPC1993 brit_corrected brit_ryotdum lit_rate_7nplus) addtext(Human Cap - Lit Rate, YES, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)

regress growth_1993_2013 lolightsPC1993 brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table3_raw.xls", append se nocons keep(lolightsPC1993 brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned) addtext(Human Cap - Lit Rate, YES, Human Cap - IMR, YES, Physical Infra, YES, Financial Infra, YES, FLFPR, YES, Geography, YES)




/******************** TABLE 4: Baseline Level Regressions (Institutions and Human Capital) (OLS and IV) with StateFE **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


xi: regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/table4_raw.xls", replace se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/table4_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if instrument_corrected != . & dateannex_corrected > 1847, cluster(nativelevel_corrected)
outreg2 using "directory path/table4_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: ivreg2 lolightsPC1993 (brit_corrected=instrument_corrected) lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if dateannex_corrected > 1847, cluster(nativelevel_corrected) first partial(_Istateid*)
outreg2 using "directory path/table4_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: ivreg2 lolightsPC1993 (lit_rate_7nplus=cath_miss_corrected) brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected) first partial(_Istateid*)
outreg2 using "directory path/table4_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, YES)

xi: ivreg2 lolightsPC1993 (lit_rate_7nplus=cath_miss_corrected) brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if dateannex_corrected > 1847, cluster(nativelevel_corrected) first partial(_Istateid*)
outreg2 using "directory path/table4_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, YES)

xi: ivreg2 lolightsPC1993 (brit_corrected lit_rate_7nplus=instrument_corrected cath_miss_corrected) area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if dateannex_corrected > 1847, cluster(nativelevel_corrected) first partial(_Istateid*)
outreg2 using "directory path/table4_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, YES)


clear
clear all

use lights_brit_prin_neighbor_within_JT.dta, clear


xi: regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/table4_raw.xls", append se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/table4_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)




/******************** TABLE 5: Other Channels I (Human Cap, Physical Infra, Financial Infra, FLFPR) (OLS and IV) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table5_raw.xls", replace se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if instrument_corrected != . & dateannex_corrected > 1847, cluster(nativelevel_corrected)
outreg2 using "directory path/table5_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

ivreg2 lolightsPC1993 (brit_corrected=instrument_corrected) lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if dateannex_corrected > 1847, cluster(nativelevel_corrected) first
outreg2 using "directory path/table5_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/table5_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if instrument_corrected != . & dateannex_corrected > 1847, cluster(nativelevel_corrected)
outreg2 using "directory path/table5_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: ivreg2 lolightsPC1993 (brit_corrected=instrument_corrected) lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if dateannex_corrected > 1847, cluster(nativelevel_corrected) first partial(_Istateid*)
outreg2 using "directory path/table5_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)



clear
clear all

use lights_brit_prin_neighbor_across_JT.dta, clear


regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table5_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)


clear
clear all

use lights_brit_prin_neighbor_within_JT.dta, clear


xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/table5_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)




/******************** TABLE 6: Other Channels II (Human Cap, Physical Infra, Financial Infra, FLFPR, Mfg. Labor Productivity) (OLS) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lit_rate_7nplus brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table6_raw.xls", replace se nocons keep(brit_corrected)

regress Total_CM1_2 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table6_raw.xls", append se nocons keep(brit_corrected)

regress loroadlengthPC brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table6_raw.xls", append se nocons keep(brit_corrected)

regress loraillengthPC brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table6_raw.xls", append se nocons keep(brit_corrected)

regress lobanks_pc1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table6_raw.xls", append se nocons keep(brit_corrected)

regress flfpr1991_15p brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table6_raw.xls", append se nocons keep(brit_corrected)

regress lolabproductivity_d brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table6_raw.xls", append se nocons keep(brit_corrected)

regress lit_rate_7nplus brit_corrected brit_ryotdum area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table6_raw.xls", append se nocons keep(brit_corrected brit_ryotdum)

regress Total_CM1_2 brit_corrected brit_ryotdum area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table6_raw.xls", append se nocons keep(brit_corrected brit_ryotdum)

regress loroadlengthPC brit_corrected brit_ryotdum area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table6_raw.xls", append se nocons keep(brit_corrected brit_ryotdum)

regress loraillengthPC brit_corrected brit_ryotdum area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table6_raw.xls", append se nocons keep(brit_corrected brit_ryotdum)

regress lobanks_pc1993 brit_corrected brit_ryotdum area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table6_raw.xls", append se nocons keep(brit_corrected brit_ryotdum)

regress flfpr1991_15p brit_corrected brit_ryotdum area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table6_raw.xls", append se nocons keep(brit_corrected brit_ryotdum)

regress lolabproductivity_d brit_corrected brit_ryotdum area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table6_raw.xls", append se nocons keep(brit_corrected brit_ryotdum)




/******************** TABLE 7: Brit rule thru' ryotwari (discrete) and channel baseline **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if brit_ryotdum != ., cluster(nativelevel_corrected)
outreg2 using "directory path/table7_raw.xls", replace se nocons keep(brit_corrected)

regress lolightsPC1993 brit_corrected brit_ryotdum area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table7_raw.xls", append se nocons keep(brit_corrected brit_ryotdum)

regress lolightsPC1993 brit_corrected brit_ryotdum lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table7_raw.xls", append se nocons keep(brit_corrected brit_ryotdum lit_rate_7nplus)

regress lolightsPC1993 brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table7_raw.xls", append se nocons keep(brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p)



clear
clear all

use lights_land_nland_neighbor_JT.dta, clear


regress lolightsPC1993_src brit_corrected_src brit_ryotdum_src area1991_src temp1900_1993_src rain1900_1993_src altitude_avg_meters_src loriverlengthPC_src latitude_src dist_coast_ned_src, cluster(nativelevel_corrected_src)
outreg2 using "directory path/table7_raw.xls", append se nocons keep(brit_corrected_src brit_ryotdum_src)

regress lolightsPC1993_src brit_corrected_src brit_ryotdum_src lit_rate_7nplus_src area1991_src temp1900_1993_src rain1900_1993_src altitude_avg_meters_src loriverlengthPC_src latitude_src dist_coast_ned_src, cluster(nativelevel_corrected_src)
outreg2 using "directory path/table7_raw.xls", append se nocons keep(brit_corrected_src brit_ryotdum_src lit_rate_7nplus_src)

regress lolightsPC1993_src brit_corrected_src brit_ryotdum_src lit_rate_7nplus_src Total_CM1_2_src loroadlengthPC_src loraillengthPC_src lobanks_pc1993 flfpr1991_15p area1991_src temp1900_1993_src rain1900_1993_src altitude_avg_meters_src loriverlengthPC_src latitude_src dist_coast_ned_src, cluster(nativelevel_corrected_src)
outreg2 using "directory path/table7_raw.xls", append se nocons keep(brit_corrected_src brit_ryotdum_src lit_rate_7nplus_src Total_CM1_2_src loroadlengthPC_src loraillengthPC_src lobanks_pc1993 flfpr1991_15p)




/******************** TABLE 8: Deeper Mechanims I (Government Responsiveness (voter turnout and exposure to media (regular newspaper readers 2012)) and Local Trust and Conflict (notmuchconflict 2012)) (OLS) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress dist1991_turnoutratio_2008_2013 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table8_raw.xls", replace se nocons keep(brit_corrected)

regress dist1991_turnoutratio_2008_2013 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if brit_ryotdum != ., cluster(nativelevel_corrected)
outreg2 using "directory path/table8_raw.xls", append se nocons keep(brit_corrected)

regress dist1991_turnoutratio_2008_2013 brit_corrected brit_ryotdum area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table8_raw.xls", append se nocons keep(brit_corrected brit_ryotdum)

regress d91_pHHs_newsp1_avg2012 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table8_raw.xls", append se nocons keep(brit_corrected)

regress d91_pHHs_newsp1_avg2012 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if brit_ryotdum != ., cluster(nativelevel_corrected)
outreg2 using "directory path/table8_raw.xls", append se nocons keep(brit_corrected)

regress d91_pHHs_newsp1_avg2012 brit_corrected brit_ryotdum area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table8_raw.xls", append se nocons keep(brit_corrected brit_ryotdum)

regress d91_pHHs_notmuch_conflict2012 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table8_raw.xls", append se nocons keep(brit_corrected)

regress d91_pHHs_notmuch_conflict2012 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if brit_ryotdum != ., cluster(nativelevel_corrected)
outreg2 using "directory path/table8_raw.xls", append se nocons keep(brit_corrected)

regress d91_pHHs_notmuch_conflict2012 brit_corrected brit_ryotdum area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table8_raw.xls", append se nocons keep(brit_corrected brit_ryotdum)




/******************** TABLE 9: Deeper Mechanims II (Government Responsiveness (voter turnout and exposure to media (regular newspaper readers)) and Local Trust and Conflict (notmuchconflict)) (OLS) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPC2013 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table9_raw.xls", replace se nocons keep(brit_corrected)

regress lolightsPC2013 brit_corrected dist1991_turnoutratio_2008_2013 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table9_raw.xls", append se nocons keep(brit_corrected dist1991_turnoutratio_2008_2013)

regress lolightsPC2013 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if d91_pHHs_notmuch_conflict2012 != . & d91_pHHs_newsp1_avg2012 != ., cluster(nativelevel_corrected)
outreg2 using "directory path/table9_raw.xls", append se nocons keep(brit_corrected)

regress lolightsPC2013 brit_corrected d91_pHHs_newsp1_avg2012 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table9_raw.xls", append se nocons keep(brit_corrected d91_pHHs_newsp1_avg2012)

regress lolightsPC2013 brit_corrected d91_pHHs_notmuch_conflict2012 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table9_raw.xls", append se nocons keep(brit_corrected d91_pHHs_notmuch_conflict2012)

regress lolightsPC2013 brit_corrected dist1991_turnoutratio_2008_2013 d91_pHHs_newsp1_avg2012 d91_pHHs_notmuch_conflict2012 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table9_raw.xls", append se nocons keep(brit_corrected dist1991_turnoutratio_2008_2013 d91_pHHs_newsp1_avg2012 d91_pHHs_notmuch_conflict2012)

regress lolightsPC2013 brit_corrected brit_ryotdum area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table9_raw.xls", append se nocons keep(brit_corrected brit_ryotdum)

regress lolightsPC2013 brit_corrected brit_ryotdum dist1991_turnoutratio_2008_2013 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table9_raw.xls", append se nocons keep(brit_corrected brit_ryotdum dist1991_turnoutratio_2008_2013)

regress lolightsPC2013 brit_corrected brit_ryotdum area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if d91_pHHs_notmuch_conflict2012 != . & d91_pHHs_newsp1_avg2012 != ., cluster(nativelevel_corrected)
outreg2 using "directory path/table9_raw.xls", append se nocons keep(brit_corrected brit_ryotdum)

regress lolightsPC2013 brit_corrected brit_ryotdum d91_pHHs_newsp1_avg2012 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table9_raw.xls", append se nocons keep(brit_corrected brit_ryotdum d91_pHHs_newsp1_avg2012)

regress lolightsPC2013 brit_corrected brit_ryotdum d91_pHHs_notmuch_conflict2012 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table9_raw.xls", append se nocons keep(brit_corrected brit_ryotdum d91_pHHs_notmuch_conflict2012)

regress lolightsPC2013 brit_corrected brit_ryotdum dist1991_turnoutratio_2008_2013 d91_pHHs_newsp1_avg2012 d91_pHHs_notmuch_conflict2012 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table9_raw.xls", append se nocons keep(brit_corrected brit_ryotdum dist1991_turnoutratio_2008_2013 d91_pHHs_newsp1_avg2012 d91_pHHs_notmuch_conflict2012)




/******************** TABLE 10: Robustness I (Dist. to closest major city, Measurement issues, year-specific results, sample size, duration of colonial rule) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table10_raw.xls", replace se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, NO)

xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/table10_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, YES)

regress lolightsPC1993bk brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table10_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, NO)

xi: regress lolightsPC1993bk brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/table10_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, YES)

regress lolightsPC1993 durabrit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table10_raw.xls", append se nocons keep(durabrit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, NO)

xi: regress lolightsPC1993 durabrit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/table10_raw.xls", append se nocons keep(durabrit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, YES)


clear
clear all

use lights_brit_prin_neighbor_across_JT.dta, clear


regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table10_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, NO)


clear
clear all

use lights_brit_prin_neighbor_within_JT.dta, clear


xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/table10_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, YES)




/******************** TABLE 11: Robustness I with ryotwari (discrete) (Dist. to closest major city, Measurement issues, year-specific results, duration of colonial rule) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPC1993 brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table11_raw.xls", replace se nocons keep(brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPC1993bk brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table11_raw.xls", append se nocons keep(brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPC1993 durabrit_corrected durabrit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/table11_raw.xls", append se nocons keep(durabrit_corrected durabrit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPC1993 brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J, cluster(nativelevel_corrected)
outreg2 using "directory path/table11_raw.xls", append se nocons keep(brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km sh_sc91_J sh_st91_J) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, YES, Geographical Controls, YES, State FE, NO)

regress lolightsPC1993bk brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J, cluster(nativelevel_corrected)
outreg2 using "directory path/table11_raw.xls", append se nocons keep(brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km sh_sc91_J sh_st91_J) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, YES, Geographical Controls, YES, State FE, NO)

regress lolightsPC1993 durabrit_corrected durabrit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J, cluster(nativelevel_corrected)
outreg2 using "directory path/table11_raw.xls", append se nocons keep(durabrit_corrected durabrit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km sh_sc91_J sh_st91_J) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, YES, Geographical Controls, YES, State FE, NO)


clear
clear all

use lights_land_nland_neighbor_JT.dta, clear


regress lolightsPC1993_src brit_corrected_src brit_ryotdum_src lit_rate_7nplus_src Total_CM1_2_src loroadlengthPC_src loraillengthPC_src lobanks_pc1993 flfpr1991_15p area1991_src temp1900_1993_src rain1900_1993_src altitude_avg_meters_src loriverlengthPC_src latitude_src min_dist_km_src dist_coast_ned_src, cluster(nativelevel_corrected_src)
outreg2 using "directory path/table11_raw.xls", append se nocons keep(brit_corrected_src brit_ryotdum_src lit_rate_7nplus_src Total_CM1_2_src loroadlengthPC_src loraillengthPC_src lobanks_pc1993 flfpr1991_15p min_dist_km_src) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPC1993_src brit_corrected_src brit_ryotdum_src lit_rate_7nplus_src Total_CM1_2_src loroadlengthPC_src loraillengthPC_src lobanks_pc1993 flfpr1991_15p area1991_src temp1900_1993_src rain1900_1993_src altitude_avg_meters_src loriverlengthPC_src latitude_src min_dist_km_src dist_coast_ned_src sh_sc91_J_src sh_st91_J_src, cluster(nativelevel_corrected_src)
outreg2 using "directory path/table11_raw.xls", append se nocons keep(brit_corrected_src brit_ryotdum_src lit_rate_7nplus_src Total_CM1_2_src loroadlengthPC_src loraillengthPC_src lobanks_pc1993 flfpr1991_15p min_dist_km_src sh_sc91_J_src sh_st91_J_src) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, YES, Geographical Controls, YES, State FE, NO)




/******************** TABLE 12: Robustness I (Dist. to closest major city, Measurement issues, year-specific results, sample size, duration of colonial rule) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J, cluster(nativelevel_corrected)
outreg2 using "directory path/table12_raw.xls", replace se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km sh_sc91_J sh_st91_J) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, YES, Geographical Controls, YES, State FE, NO)

xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/table12_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km sh_sc91_J sh_st91_J) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, YES, Geographical Controls, YES, State FE, YES)

regress lolightsPC1993bk brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J, cluster(nativelevel_corrected)
outreg2 using "directory path/table12_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km sh_sc91_J sh_st91_J) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, YES, Geographical Controls, YES, State FE, NO)

xi: regress lolightsPC1993bk brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/table12_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km sh_sc91_J sh_st91_J) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, YES, Geographical Controls, YES, State FE, YES)

regress lolightsPC1993 durabrit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J, cluster(nativelevel_corrected)
outreg2 using "directory path/table12_raw.xls", append se nocons keep(durabrit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km sh_sc91_J sh_st91_J) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, YES, Geographical Controls, YES, State FE, NO)

xi: regress lolightsPC1993 durabrit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/table12_raw.xls", append se nocons keep(durabrit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km sh_sc91_J sh_st91_J) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, YES, Geographical Controls, YES, State FE, YES)



clear
clear all

use lights_brit_prin_neighbor_across_JT.dta, clear


regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J, cluster(nativelevel_corrected)
outreg2 using "directory path/table12_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km sh_sc91_J sh_st91_J) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, YES, Geographical Controls, YES, State FE, NO)


clear
clear all

use lights_brit_prin_neighbor_within_JT.dta, clear


xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/table12_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p min_dist_km sh_sc91_J sh_st91_J) addtext(Dist. to closest major city, YES, Sh_SC and Sh_ST 1991, YES, Geographical Controls, YES, State FE, YES)





*********************************************************************
********************** Appendix Tables ******************************
*********************************************************************



/******************** TABLE A1: Baseline Level Regressions (Sh. higher and prim. edu) (Institutions and Human Capital) (OLS and IV) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA1_raw.xls", replace se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPC1993 brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA1_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPC1993 brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if instrument_corrected != . & dateannex_corrected > 1847, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA1_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

ivreg2 lolightsPC1993 (brit_corrected = instrument_corrected) sharehigh25plus_incld_J shareprim25plus_incld_J area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if dateannex_corrected > 1847, cluster(nativelevel_corrected) first
outreg2 using "directory path/tableA1_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

ivreg2 lolightsPC1993 (sharehigh25plus_incld_J shareprim25plus_incld_J = cath_miss_corrected share_primary1961_castello) brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected) first
outreg2 using "directory path/tableA1_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, NO)

ivreg2 lolightsPC1993 (sharehigh25plus_incld_J shareprim25plus_incld_J = cath_miss_corrected share_primary1961_castello) brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if dateannex_corrected > 1847, cluster(nativelevel_corrected) first
outreg2 using "directory path/tableA1_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, NO)

ivreg2 lolightsPC1993 (brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J = instrument_corrected cath_miss_corrected share_primary1961_castello) area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if dateannex_corrected > 1847, cluster(nativelevel_corrected) first
outreg2 using "directory path/tableA1_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, NO)


clear
clear all

use lights_brit_prin_neighbor_across_JT.dta, clear


regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA1_raw.xls", append se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPC1993 brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA1_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)




/******************** TABLE A2: Baseline Level Regressions (Sh. higher and prim. edu) (Institutions and Human Capital) (OLS and IV) with StateFE **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


xi: regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA2_raw.xls", replace se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: regress lolightsPC1993 brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA2_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: regress lolightsPC1993 brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if instrument_corrected != . & dateannex_corrected > 1847, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA2_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: ivreg2 lolightsPC1993 (brit_corrected = instrument_corrected) sharehigh25plus_incld_J shareprim25plus_incld_J area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if dateannex_corrected > 1847, cluster(nativelevel_corrected) first partial(_Istateid*)
outreg2 using "directory path/tableA2_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: ivreg2 lolightsPC1993 (sharehigh25plus_incld_J shareprim25plus_incld_J = cath_miss_corrected share_primary1961_castello) brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected) first partial(_Istateid*)
outreg2 using "directory path/tableA2_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, YES)

xi: ivreg2 lolightsPC1993 (sharehigh25plus_incld_J shareprim25plus_incld_J = cath_miss_corrected share_primary1961_castello) brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if dateannex_corrected > 1847, cluster(nativelevel_corrected) first partial(_Istateid*)
outreg2 using "directory path/tableA2_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, YES)

xi: ivreg2 lolightsPC1993 (brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J = instrument_corrected cath_miss_corrected share_primary1961_castello) area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if dateannex_corrected > 1847, cluster(nativelevel_corrected) first partial(_Istateid*)
outreg2 using "directory path/tableA2_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, YES)


clear
clear all

use lights_brit_prin_neighbor_within_JT.dta, clear


xi: regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA2_raw.xls", append se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: regress lolightsPC1993 brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA2_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)




/******************** TABLE A3: Baseline Level Regressions with lolightsPA1993 (Sh. higher and prim. edu) (Institutions and Human Capital) (OLS and IV) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPA1993 brit_corrected lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA3_raw.xls", replace se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPA1993 brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA3_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPA1993 brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if instrument_corrected != . & dateannex_corrected > 1847, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA3_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

ivreg2 lolightsPA1993 (brit_corrected = instrument_corrected) sharehigh25plus_incld_J shareprim25plus_incld_J lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if dateannex_corrected > 1847, cluster(nativelevel_corrected) first
outreg2 using "directory path/tableA3_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

ivreg2 lolightsPA1993 (sharehigh25plus_incld_J shareprim25plus_incld_J = cath_miss_corrected share_primary1961_castello) brit_corrected lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected) first
outreg2 using "directory path/tableA3_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, NO)

ivreg2 lolightsPA1993 (sharehigh25plus_incld_J shareprim25plus_incld_J = cath_miss_corrected share_primary1961_castello) brit_corrected lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if dateannex_corrected > 1847, cluster(nativelevel_corrected) first
outreg2 using "directory path/tableA3_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, NO)

ivreg2 lolightsPA1993 (brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J = instrument_corrected cath_miss_corrected share_primary1961_castello) lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if dateannex_corrected > 1847, cluster(nativelevel_corrected) first
outreg2 using "directory path/tableA3_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, NO)


clear
clear all

use lights_brit_prin_neighbor_across_JT.dta, clear


regress lolightsPA1993 brit_corrected lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA3_raw.xls", append se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPA1993 brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA3_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)




/******************** TABLE A4: Baseline Level Regressions with lolightsPA1993 (Sh. higher and prim. edu) (Institutions and Human Capital) (OLS and IV) with StateFE **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


xi: regress lolightsPA1993 brit_corrected lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA4_raw.xls", replace se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: regress lolightsPA1993 brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA4_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: regress lolightsPA1993 brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if instrument_corrected != . & dateannex_corrected > 1847, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA4_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: ivreg2 lolightsPA1993 (brit_corrected = instrument_corrected) sharehigh25plus_incld_J shareprim25plus_incld_J lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if dateannex_corrected > 1847, cluster(nativelevel_corrected) first partial(_Istateid*)
outreg2 using "directory path/tableA4_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: ivreg2 lolightsPA1993 (sharehigh25plus_incld_J shareprim25plus_incld_J = cath_miss_corrected share_primary1961_castello) brit_corrected lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected) first partial(_Istateid*)
outreg2 using "directory path/tableA4_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, YES)

xi: ivreg2 lolightsPA1993 (sharehigh25plus_incld_J shareprim25plus_incld_J = cath_miss_corrected share_primary1961_castello) brit_corrected lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if dateannex_corrected > 1847, cluster(nativelevel_corrected) first partial(_Istateid*)
outreg2 using "directory path/tableA4_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, YES)

xi: ivreg2 lolightsPA1993 (brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J = instrument_corrected cath_miss_corrected share_primary1961_castello) lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if dateannex_corrected > 1847, cluster(nativelevel_corrected) first partial(_Istateid*)
outreg2 using "directory path/tableA4_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, YES)


clear
clear all

use lights_brit_prin_neighbor_within_JT.dta, clear


xi: regress lolightsPA1993 brit_corrected lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA4_raw.xls", append se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: regress lolightsPA1993 brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J lopopln91 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA4_raw.xls", append se nocons keep(brit_corrected sharehigh25plus_incld_J shareprim25plus_incld_J) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)




/******************** TABLE A5: Table 2 Regressions with Conley Standard Errors and Moran's I and cutoff distance where the respective Moran's I is insignificant **********************/

** Moran's I for each column of Table 2 **
clear
clear all

use british_lights_maindata_JT.dta, clear

merge 1:1 IPUM1993 using longitude_dist1991_ipums.dta

drop if _merge == 2
drop _merge

qui regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
predict re1_table2, residuals

qui regress lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
predict re2_table2, residuals

qui regress lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if instrument_corrected != . & dateannex_corrected > 1847, cluster(nativelevel_corrected)
predict re5_table2, residuals

qui ivreg2 lolightsPC1993 (brit_corrected=instrument_corrected) lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if dateannex_corrected > 1847, cluster(nativelevel_corrected) first
predict re6_table2, residuals

qui ivreg2 lolightsPC1993 (lit_rate_7nplus=cath_miss_corrected) brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected) first
predict re7_table2, residuals

qui ivreg2 lolightsPC1993 (lit_rate_7nplus=cath_miss_corrected) brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if dateannex_corrected > 1847, cluster(nativelevel_corrected) first
predict re8_table2, residuals

qui ivreg2 lolightsPC1993 (brit_corrected lit_rate_7nplus=instrument_corrected cath_miss_corrected) area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if dateannex_corrected > 1847, cluster(nativelevel_corrected) first
predict re9_table2, residuals

moransi re1_table2, lat(latitude) lon(longitude) swm(bin) dist(1230) dunit(km)
moransi re2_table2, lat(latitude) lon(longitude) swm(bin) dist(1054) dunit(km)
moransi re5_table2, lat(latitude) lon(longitude) swm(bin) dist(1076) dunit(km)
moransi re6_table2, lat(latitude) lon(longitude) swm(bin) dist(1153) dunit(km)
moransi re7_table2, lat(latitude) lon(longitude) swm(bin) dist(863) dunit(km)
moransi re8_table2, lat(latitude) lon(longitude) swm(bin) dist(1044) dunit(km)
moransi re9_table2, lat(latitude) lon(longitude) swm(bin) dist(1036) dunit(km)


clear
clear all

use lights_brit_prin_neighbor_across_JT.dta, clear

merge 1:1 IPUM1993 using longitude_dist1991_ipums.dta

drop if _merge == 2
drop _merge


qui regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
predict re3_table2, residuals

qui regress lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
predict re4_table2, residuals

moransi re3_table2, lat(latitude) lon(longitude) swm(bin) dist(1414) dunit(km)
moransi re4_table2, lat(latitude) lon(longitude) swm(bin) dist(1216) dunit(km)


** Baseline Level Regressions (Table 2) with Conley Standard Errors (Institutions and Human Capital) (OLS and IV) **
clear
clear all

use british_lights_maindata_JT.dta, clear

merge 1:1 IPUM1993 using longitude_dist1991_ipums.dta

drop if _merge == 2
drop _merge


acreg lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, spatial latitude(latitude) longitude(longitude) dist(1230) bartlett
outreg2 using "directory path/tableA5_raw.xls", replace se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO, Distance Cutoff, 1230 km)

acreg lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, spatial latitude(latitude) longitude(longitude) dist(1054) bartlett
outreg2 using "directory path/tableA5_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO, Distance Cutoff, 1054 km)

acreg lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if instrument_corrected != . & dateannex_corrected > 1847, spatial latitude(latitude) longitude(longitude) dist(1076) bartlett
outreg2 using "directory path/tableA5_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO, Distance Cutoff, 1076 km)

acreg lolightsPC1993 lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned (brit_corrected=instrument_corrected) if dateannex_corrected > 1847, spatial latitude(latitude) longitude(longitude) dist(1153) bartlett
outreg2 using "directory path/tableA5_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO, Distance Cutoff, 1153 km)

acreg lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned (lit_rate_7nplus = cath_miss_corrected), spatial latitude(latitude) longitude(longitude) dist(863) bartlett
outreg2 using "directory path/tableA5_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, NO, Distance Cutoff, 863 km)

acreg lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned (lit_rate_7nplus = cath_miss_corrected) if dateannex_corrected > 1847, spatial latitude(latitude) longitude(longitude) dist(1044) bartlett
outreg2 using "directory path/tableA5_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, NO, Distance Cutoff, 1044 km)

acreg lolightsPC1993 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned (brit_corrected lit_rate_7nplus = instrument_corrected cath_miss_corrected) if dateannex_corrected > 1847, spatial latitude(latitude) longitude(longitude) dist(1036) bartlett
outreg2 using "directory path/tableA5_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, NO, Distance Cutoff, 1036 km)


clear
clear all

use lights_brit_prin_neighbor_across_JT.dta, clear

merge 1:1 IPUM1993 using longitude_dist1991_ipums.dta

drop if _merge == 2
drop _merge


acreg lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, spatial latitude(latitude) longitude(longitude) dist(1414) bartlett
outreg2 using "directory path/tableA5_raw.xls", append se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO, Distance Cutoff, 1414 km)

acreg lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, spatial latitude(latitude) longitude(longitude) dist(1216) bartlett
outreg2 using "directory path/tableA5_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO, Distance Cutoff, 1216 km)




/******************** TABLE A6: Table 4 Regressions with Conley Standard Errors and Moran's I and cutoff distance where the respective Moran's I is insignificant **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear

merge 1:1 IPUM1993 using longitude_dist1991_ipums.dta

drop if _merge == 2
drop _merge


qui xi: regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
predict re1_table4, residuals

qui xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
predict re2_table4, residuals

qui xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if instrument_corrected != . & dateannex_corrected > 1847, cluster(nativelevel_corrected)
predict re5_table4, residuals

qui xi: ivreg2 lolightsPC1993 (brit_corrected=instrument_corrected) lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if dateannex_corrected > 1847, cluster(nativelevel_corrected) first partial(_Istateid*)
predict re6_table4, residuals

qui xi: ivreg2 lolightsPC1993 (lit_rate_7nplus=cath_miss_corrected) brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected) first partial(_Istateid*)
predict re7_table4, residuals

qui xi: ivreg2 lolightsPC1993 (lit_rate_7nplus=cath_miss_corrected) brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if dateannex_corrected > 1847, cluster(nativelevel_corrected) first partial(_Istateid*)
predict re8_table4, residuals

qui xi: ivreg2 lolightsPC1993 (brit_corrected lit_rate_7nplus=instrument_corrected cath_miss_corrected) area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if dateannex_corrected > 1847, cluster(nativelevel_corrected) first partial(_Istateid*)
predict re9_table4, residuals

moransi re1_table4, lat(latitude) lon(longitude) swm(bin) dist(186) dunit(km)
moransi re2_table4, lat(latitude) lon(longitude) swm(bin) dist(174) dunit(km)
moransi re5_table4, lat(latitude) lon(longitude) swm(bin) dist(1998) dunit(km)
moransi re6_table4, lat(latitude) lon(longitude) swm(bin) dist(1680) dunit(km)
moransi re7_table4, lat(latitude) lon(longitude) swm(bin) dist(174) dunit(km)
moransi re8_table4, lat(latitude) lon(longitude) swm(bin) dist(1590) dunit(km)
moransi re9_table4, lat(latitude) lon(longitude) swm(bin) dist(1666) dunit(km)


clear
clear all

use lights_brit_prin_neighbor_within_JT.dta, clear

merge 1:1 IPUM1993 using longitude_dist1991_ipums.dta

drop if _merge == 2
drop _merge


qui xi: regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
predict re3_table4, residuals

qui xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
predict re4_table4, residuals

moransi re3_table4, lat(latitude) lon(longitude) swm(bin) dist(153) dunit(km)
moransi re4_table4, lat(latitude) lon(longitude) swm(bin) dist(153) dunit(km)


** Baseline Level Regressions (Table 4) with StateFE and Conley Standard Errors (Institutions and Human Capital) (OLS and IV) **
clear
clear all

use british_lights_maindata_JT.dta, clear

merge 1:1 IPUM1993 using longitude_dist1991_ipums.dta

drop if _merge == 2
drop _merge


acreg lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, spatial latitude(latitude) longitude(longitude) dist(186) bartlett
outreg2 using "directory path/tableA6_raw.xls", replace se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES, Distance Cutoff, 186 km)

acreg lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, spatial latitude(latitude) longitude(longitude) dist(174) bartlett
outreg2 using "directory path/tableA6_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES, Distance Cutoff, 174 km)

acreg lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if instrument_corrected != . & dateannex_corrected > 1847, spatial latitude(latitude) longitude(longitude) dist(1998) bartlett
outreg2 using "directory path/tableA6_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES, Distance Cutoff, 1998 km)

acreg lolightsPC1993 lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid (brit_corrected=instrument_corrected) if dateannex_corrected > 1847, spatial latitude(latitude) longitude(longitude) dist(1680) bartlett
outreg2 using "directory path/tableA6_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES, Distance Cutoff, 1680 km)

acreg lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid (lit_rate_7nplus = cath_miss_corrected), spatial latitude(latitude) longitude(longitude) dist(174) bartlett
outreg2 using "directory path/tableA6_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, YES, Distance Cutoff, 174 km)

acreg lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid (lit_rate_7nplus = cath_miss_corrected) if dateannex_corrected > 1847, spatial latitude(latitude) longitude(longitude) dist(1590) bartlett
outreg2 using "directory path/tableA6_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, YES, Distance Cutoff, 1590 km)

acreg lolightsPC1993 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid (brit_corrected lit_rate_7nplus = instrument_corrected cath_miss_corrected) if dateannex_corrected > 1847, spatial latitude(latitude) longitude(longitude) dist(1666) bartlett
outreg2 using "directory path/tableA6_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, YES, Geographical Controls, YES, State FE, YES, Distance Cutoff, 1666 km)


clear
clear all

use lights_brit_prin_neighbor_within_JT.dta, clear

merge 1:1 IPUM1993 using longitude_dist1991_ipums.dta

drop if _merge == 2
drop _merge


acreg lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, spatial latitude(latitude) longitude(longitude) dist(153) bartlett
outreg2 using "directory path/tableA6_raw.xls", append se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES, Distance Cutoff, 153 km)

acreg lolightsPC1993 brit_corrected lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, spatial latitude(latitude) longitude(longitude) dist(153) bartlett
outreg2 using "directory path/tableA6_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES, Distance Cutoff, 153 km)




/******************** TABLE A7: Other Channels I (Human Cap, Physical Infra, Financial Infra, FLFPR, Mfg. Labor Productivity) (OLS and IV) (with labor productivity) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if lolabproductivity_d != ., cluster(nativelevel_corrected)
outreg2 using "directory path/tableA7_raw.xls", replace se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA7_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if instrument_corrected != . & dateannex_corrected > 1847, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA7_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

ivreg2 lolightsPC1993 (brit_corrected=instrument_corrected) lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if dateannex_corrected > 1847, cluster(nativelevel_corrected) first
outreg2 using "directory path/tableA7_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)

xi: regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if lolabproductivity_d != ., cluster(nativelevel_corrected)
outreg2 using "directory path/tableA7_raw.xls", append se nocons keep(brit_corrected) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA7_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if instrument_corrected != . & dateannex_corrected > 1847, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA7_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

xi: ivreg2 lolightsPC1993 (brit_corrected=instrument_corrected) lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid if dateannex_corrected > 1847, cluster(nativelevel_corrected) first partial(_Istateid*)
outreg2 using "directory path/tableA7_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d) addtext(Brit Instrumented, YES, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)

clear
clear all

use lights_brit_prin_neighbor_across_JT.dta, clear


regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA7_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, NO)


clear
clear all

use lights_brit_prin_neighbor_within_JT.dta, clear


xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA7_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d) addtext(Brit Instrumented, NO, Literacy Rate Instrumented, NO, Geographical Controls, YES, State FE, YES)




/******************** TABLE A8: Brit rule thru' ryotwari (discrete) and channel baseline (with ryot_dummy as a regressor) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if brit_ryotdum != ., cluster(nativelevel_corrected)
outreg2 using "directory path/tableA8_raw.xls", replace se nocons keep(brit_corrected)

regress lolightsPC1993 brit_corrected ryot_dummy brit_ryotdum area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA8_raw.xls", append se nocons keep(brit_corrected ryot_dummy brit_ryotdum)

regress lolightsPC1993 brit_corrected ryot_dummy brit_ryotdum lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA8_raw.xls", append se nocons keep(brit_corrected ryot_dummy brit_ryotdum lit_rate_7nplus)

regress lolightsPC1993 brit_corrected ryot_dummy brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA8_raw.xls", append se nocons keep(brit_corrected ryot_dummy brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p)


clear
clear all

use lights_land_nland_neighbor_JT.dta, clear


regress lolightsPC1993_src brit_corrected_src ryot_dummy_src brit_ryotdum_src area1991_src temp1900_1993_src rain1900_1993_src altitude_avg_meters_src loriverlengthPC_src latitude_src dist_coast_ned_src, cluster(nativelevel_corrected_src)
outreg2 using "directory path/tableA8_raw.xls", append se nocons keep(brit_corrected_src ryot_dummy_src brit_ryotdum_src)

regress lolightsPC1993_src brit_corrected_src ryot_dummy_src brit_ryotdum_src lit_rate_7nplus_src area1991_src temp1900_1993_src rain1900_1993_src altitude_avg_meters_src loriverlengthPC_src latitude_src dist_coast_ned_src, cluster(nativelevel_corrected_src)
outreg2 using "directory path/tableA8_raw.xls", append se nocons keep(brit_corrected_src ryot_dummy_src brit_ryotdum_src lit_rate_7nplus_src)

regress lolightsPC1993_src brit_corrected_src ryot_dummy_src brit_ryotdum_src lit_rate_7nplus_src Total_CM1_2_src loroadlengthPC_src loraillengthPC_src lobanks_pc1993 flfpr1991_15p area1991_src temp1900_1993_src rain1900_1993_src altitude_avg_meters_src loriverlengthPC_src latitude_src dist_coast_ned_src, cluster(nativelevel_corrected_src)
outreg2 using "directory path/tableA8_raw.xls", append se nocons keep(brit_corrected_src ryot_dummy_src brit_ryotdum_src lit_rate_7nplus_src Total_CM1_2_src loroadlengthPC_src loraillengthPC_src lobanks_pc1993 flfpr1991_15p)


clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPC1993 brit_corrected prop_ryotwari1 brit_propryot area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA8_raw.xls", append se nocons keep(brit_corrected prop_ryotwari1 brit_propryot)

regress lolightsPC1993 brit_corrected prop_ryotwari1 brit_propryot lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA8_raw.xls", append se nocons keep(brit_corrected prop_ryotwari1 brit_propryot lit_rate_7nplus)

regress lolightsPC1993 brit_corrected prop_ryotwari1 brit_propryot lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA8_raw.xls", append se nocons keep(brit_corrected prop_ryotwari1 brit_propryot lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p)




/******************** TABLE A9: Brit rule thru' ryotwari (discrete) and channel baseline (with labor productivity) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPC1993 brit_corrected area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if brit_ryotdum != . & lolabproductivity_d != ., cluster(nativelevel_corrected)
outreg2 using "directory path/tableA9_raw.xls", replace se nocons keep(brit_corrected)

regress lolightsPC1993 brit_corrected brit_ryotdum area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if lolabproductivity_d != ., cluster(nativelevel_corrected)
outreg2 using "directory path/tableA9_raw.xls", append se nocons keep(brit_corrected brit_ryotdum)

regress lolightsPC1993 brit_corrected brit_ryotdum lit_rate_7nplus area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned if lolabproductivity_d != ., cluster(nativelevel_corrected)
outreg2 using "directory path/tableA9_raw.xls", append se nocons keep(brit_corrected brit_ryotdum lit_rate_7nplus)

regress lolightsPC1993 brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA9_raw.xls", append se nocons keep(brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p lolabproductivity_d)


clear
clear all

use lights_land_nland_neighbor_JT.dta, clear


regress lolightsPC1993_src brit_corrected_src brit_ryotdum_src area1991_src temp1900_1993_src rain1900_1993_src altitude_avg_meters_src loriverlengthPC_src latitude_src dist_coast_ned_src if lolabproductivity_d != ., cluster(nativelevel_corrected_src)
outreg2 using "directory path/tableA9_raw.xls", append se nocons keep(brit_corrected_src brit_ryotdum_src)

regress lolightsPC1993_src brit_corrected_src brit_ryotdum_src lit_rate_7nplus_src area1991_src temp1900_1993_src rain1900_1993_src altitude_avg_meters_src loriverlengthPC_src latitude_src dist_coast_ned_src if lolabproductivity_d != ., cluster(nativelevel_corrected_src)
outreg2 using "directory path/tableA9_raw.xls", append se nocons keep(brit_corrected_src brit_ryotdum_src lit_rate_7nplus_src)

regress lolightsPC1993_src brit_corrected_src brit_ryotdum_src lit_rate_7nplus_src Total_CM1_2_src loroadlengthPC_src loraillengthPC_src lobanks_pc1993 flfpr1991_15p lolabproductivity_d area1991_src temp1900_1993_src rain1900_1993_src altitude_avg_meters_src loriverlengthPC_src latitude_src dist_coast_ned_src, cluster(nativelevel_corrected_src)
outreg2 using "directory path/tableA9_raw.xls", append se nocons keep(brit_corrected_src brit_ryotdum_src lit_rate_7nplus_src Total_CM1_2_src loroadlengthPC_src loraillengthPC_src lobanks_pc1993 flfpr1991_15p lolabproductivity_d)




/******************** TABLE A10: Economic Growth (1993 - 2013 BK) Regressions **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear

gen lolightsPC1993bk_brit = lolightsPC1993bk*brit_corrected


regress growth_1993_2013bk lolightsPC1993bk if brit_corrected != ., robust
outreg2 using "directory path/tableA10_raw.xls", replace se nocons keep(lolightsPC1993bk) addtext(Human Cap - Lit Rate, NO, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)

regress growth_1993_2013bk lolightsPC1993bk brit_corrected, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA10_raw.xls", append se nocons keep(lolightsPC1993bk brit_corrected) addtext(Human Cap - Lit Rate, NO, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)
															
regress growth_1993_2013bk lolightsPC1993bk brit_corrected lolightsPC1993bk_brit, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA10_raw.xls", append se nocons keep(lolightsPC1993bk brit_corrected lolightsPC1993bk_brit) addtext(Human Cap - Lit Rate, NO, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)

regress growth_1993_2013bk lolightsPC1993bk brit_corrected lolightsPC1993bk_brit lit_rate_7nplus, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA10_raw.xls", append se nocons keep(lolightsPC1993bk brit_corrected lolightsPC1993bk_brit lit_rate_7nplus) addtext(Human Cap - Lit Rate, YES, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)

regress growth_1993_2013bk lolightsPC1993bk brit_corrected lolightsPC1993bk_brit lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA10_raw.xls", append se nocons keep(lolightsPC1993bk brit_corrected lolightsPC1993bk_brit lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned) addtext(Human Cap - Lit Rate, YES, Human Cap - IMR, YES, Physical Infra, YES, Financial Infra, YES, FLFPR, YES, Geography, YES)

regress growth_1993_2013bk lolightsPC1993bk brit_corrected brit_ryotdum, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA10_raw.xls", append se nocons keep(lolightsPC1993bk brit_corrected brit_ryotdum) addtext(Human Cap - Lit Rate, NO, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)

regress growth_1993_2013bk lolightsPC1993bk brit_corrected brit_ryotdum lit_rate_7nplus, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA10_raw.xls", append se nocons keep(lolightsPC1993bk brit_corrected brit_ryotdum lit_rate_7nplus) addtext(Human Cap - Lit Rate, YES, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)

regress growth_1993_2013bk lolightsPC1993bk brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA10_raw.xls", append se nocons keep(lolightsPC1993bk brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned) addtext(Human Cap - Lit Rate, YES, Human Cap - IMR, YES, Physical Infra, YES, Financial Infra, YES, FLFPR, YES, Geography, YES)




/******************** TABLE A11: Robustness I (Year-specific results with VIIRS nightlights data) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPC2013bk brit_corrected dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA11_raw.xls", replace se nocons keep(brit_corrected dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, NO)

xi: regress lolightsPC2013bk brit_corrected dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA11_raw.xls", append se nocons keep(brit_corrected dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, YES)

regress lolightsPC2013viirs_mask brit_corrected dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA11_raw.xls", append se nocons keep(brit_corrected dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, NO)

xi: regress lolightsPC2013viirs_mask brit_corrected dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA11_raw.xls", append se nocons keep(brit_corrected dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, YES)

regress lolightsPC2019viirs_mask brit_corrected dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA11_raw.xls", append se nocons keep(brit_corrected dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, NO)

xi: regress lolightsPC2019viirs_mask brit_corrected dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA11_raw.xls", append se nocons keep(brit_corrected dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, YES)

regress lolightsPC2013bk brit_corrected brit_ryotdum dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA11_raw.xls", append se nocons keep(brit_corrected brit_ryotdum dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, NO)

regress lolightsPC2013viirs_mask brit_corrected brit_ryotdum dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA11_raw.xls", append se nocons keep(brit_corrected brit_ryotdum dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, NO)

regress lolightsPC2019viirs_mask brit_corrected brit_ryotdum dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA11_raw.xls", append se nocons keep(brit_corrected brit_ryotdum dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011) addtext(Dist. to closest major city, YES, Geographical Controls, YES, State FE, NO)




/******************** TABLE A12: Economic Growth (2012 - 2019 viirs_mask) Regressions **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear

gen lolightsPC2012viirsm_brit = lolightsPC2012viirs_mask*brit_corrected


regress growth_2012_2019viirs_mask lolightsPC2012viirs_mask if brit_corrected != ., robust
outreg2 using "directory path/tableA12_raw.xls", replace se nocons keep(lolightsPC2012viirs_mask) addtext(Human Cap - Lit Rate, NO, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)

regress growth_2012_2019viirs_mask lolightsPC2012viirs_mask brit_corrected, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA12_raw.xls", append se nocons keep(lolightsPC2012viirs_mask brit_corrected) addtext(Human Cap - Lit Rate, NO, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)
														
regress growth_2012_2019viirs_mask lolightsPC2012viirs_mask brit_corrected lolightsPC2012viirsm_brit, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA12_raw.xls", append se nocons keep(lolightsPC2012viirs_mask brit_corrected lolightsPC2012viirsm_brit) addtext(Human Cap - Lit Rate, NO, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)

regress growth_2012_2019viirs_mask lolightsPC2012viirs_mask brit_corrected lolightsPC2012viirsm_brit dist1991_lit_rate2011, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA12_raw.xls", append se nocons keep(lolightsPC2012viirs_mask brit_corrected lolightsPC2012viirsm_brit dist1991_lit_rate2011) addtext(Human Cap - Lit Rate, YES, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)

regress growth_2012_2019viirs_mask lolightsPC2012viirs_mask brit_corrected lolightsPC2012viirsm_brit dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA12_raw.xls", append se nocons keep(lolightsPC2012viirs_mask brit_corrected lolightsPC2012viirsm_brit dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned) addtext(Human Cap - Lit Rate, YES, Human Cap - IMR, YES, Physical Infra, YES, Financial Infra, YES, FLFPR, YES, Geography, YES)

regress growth_2012_2019viirs_mask lolightsPC2012viirs_mask brit_corrected brit_ryotdum, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA12_raw.xls", append se nocons keep(lolightsPC2012viirs_mask brit_corrected brit_ryotdum) addtext(Human Cap - Lit Rate, NO, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)

regress growth_2012_2019viirs_mask lolightsPC2012viirs_mask brit_corrected brit_ryotdum dist1991_lit_rate2011, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA12_raw.xls", append se nocons keep(lolightsPC2012viirs_mask brit_corrected brit_ryotdum dist1991_lit_rate2011) addtext(Human Cap - Lit Rate, YES, Human Cap - IMR, NO, Physical Infra, NO, Financial Infra, NO, FLFPR, NO, Geography, NO)

regress growth_2012_2019viirs_mask lolightsPC2012viirs_mask brit_corrected brit_ryotdum dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA12_raw.xls", append se nocons keep(lolightsPC2012viirs_mask brit_corrected brit_ryotdum dist1991_lit_rate2011 dist1991_IMR2011 loroadlengthPC loraillengthPC lobanks_pc2011 dist1991_15p_flfpr2011 area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned) addtext(Human Cap - Lit Rate, YES, Human Cap - IMR, YES, Physical Infra, YES, Financial Infra, YES, FLFPR, YES, Geography, YES)




/******************** TABLE A13: Robustness II (Additional Controls) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J terr_rugg100m, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA13_raw.xls", replace se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Dist. to closest major city, YES, Sh_SC 1991 and Sh_ST 1991, YES, Terrain Rugg Control, YES, Historical Controls, NO, Agri. Suitability Control, NO, State FE, NO)

regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J terr_rugg100m share_urban1931 share_brahman1931 share_tribal1931 rail1909 pop_den1931 euro1931, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA13_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Dist. to closest major city, YES, Sh_SC 1991 and Sh_ST 1991, YES, Terrain Rugg Control, YES, Historical Controls, YES, Agri. Suitability Control, NO, State FE, NO)

regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J terr_rugg100m agri_suit, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA13_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Dist. to closest major city, YES, Sh_SC 1991 and Sh_ST 1991, YES, Terrain Rugg Control, YES, Historical Controls, NO, Agri. Suitability Control, YES, State FE, NO)

regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J terr_rugg100m share_urban1931 share_brahman1931 share_tribal1931 rail1909 pop_den1931 euro1931 agri_suit, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA13_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Dist. to closest major city, YES, Sh_SC 1991 and Sh_ST 1991, YES, Terrain Rugg Control, YES, Historical Controls, YES, Agri. Suitability Control, YES, State FE, NO)

xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J terr_rugg100m i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA13_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Dist. to closest major city, YES, Sh_SC 1991 and Sh_ST 1991, YES, Terrain Rugg Control, YES, Historical Controls, NO, Agri. Suitability Control, NO, State FE, YES)

xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J terr_rugg100m share_urban1931 share_brahman1931 share_tribal1931 rail1909 pop_den1931 euro1931 i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA13_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Dist. to closest major city, YES, Sh_SC 1991 and Sh_ST 1991, YES, Terrain Rugg Control, YES, Historical Controls, YES, Agri. Suitability Control, NO, State FE, YES)

xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J terr_rugg100m agri_suit i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA13_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Dist. to closest major city, YES, Sh_SC 1991 and Sh_ST 1991, YES, Terrain Rugg Control, YES, Historical Controls, NO, Agri. Suitability Control, YES, State FE, YES)

xi: regress lolightsPC1993 brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J terr_rugg100m share_urban1931 share_brahman1931 share_tribal1931 rail1909 pop_den1931 euro1931 agri_suit i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA13_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Dist. to closest major city, YES, Sh_SC 1991 and Sh_ST 1991, YES, Terrain Rugg Control, YES, Historical Controls, YES, Agri. Suitability Control, YES, State FE, YES)




/******************** TABLE A14: Robustness II with ryotwari (discrete) (Additional Controls) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress lolightsPC1993 brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J terr_rugg100m, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA14_raw.xls", replace se nocons keep(brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Dist. to closest major city, YES, Sh_SC 1991 and Sh_ST 1991, YES, Terrain Rugg Control, YES, Historical Controls, NO, Agri. Suitability Control, NO, State FE, NO)

regress lolightsPC1993 brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J terr_rugg100m share_urban1931 share_brahman1931 share_tribal1931 rail1909 pop_den1931 euro1931, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA14_raw.xls", append se nocons keep(brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Dist. to closest major city, YES, Sh_SC 1991 and Sh_ST 1991, YES, Terrain Rugg Control, YES, Historical Controls, YES, Agri. Suitability Control, NO, State FE, NO)

regress lolightsPC1993 brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J terr_rugg100m agri_suit, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA14_raw.xls", append se nocons keep(brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Dist. to closest major city, YES, Sh_SC 1991 and Sh_ST 1991, YES, Terrain Rugg Control, YES, Historical Controls, NO, Agri. Suitability Control, YES, State FE, NO)

regress lolightsPC1993 brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude min_dist_km dist_coast_ned sh_sc91_J sh_st91_J terr_rugg100m share_urban1931 share_brahman1931 share_tribal1931 rail1909 pop_den1931 euro1931 agri_suit, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA14_raw.xls", append se nocons keep(brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Dist. to closest major city, YES, Sh_SC 1991 and Sh_ST 1991, YES, Terrain Rugg Control, YES, Historical Controls, YES, Agri. Suitability Control, YES, State FE, NO)




/******************** TABLE A15: Robustness III (Alternate proxy of overall development) **********************/
clear
clear all

use british_lights_maindata_JT.dta, clear


regress logmean_rural brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA15_raw.xls", replace se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Geographical Controls, YES, State FE, NO)

xi: regress logmean_rural brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned i.stateid, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA15_raw.xls", append se nocons keep(brit_corrected lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Geographical Controls, YES, State FE, YES)

regress logmean_rural brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p area1991 temp1900_1993 rain1900_1993 altitude_avg_meters loriverlengthPC latitude dist_coast_ned, cluster(nativelevel_corrected)
outreg2 using "directory path/tableA15_raw.xls", append se nocons keep(brit_corrected brit_ryotdum lit_rate_7nplus Total_CM1_2 loroadlengthPC loraillengthPC lobanks_pc1993 flfpr1991_15p) addtext(Geographical Controls, YES, State FE, NO)






